As the speed at which processors and other circuits operate has increased, the focus of many circuit design techniques has shifted towards ensuring compliance with stringent timing requirements. To make sure that circuits they design conform to these stringent timing requirements, circuit designers use a number of different timing prediction/modeling tools. Circuit designers use these tools to estimate the time it takes a signal to travel from point to point within a circuit, from a circuit input to a circuit output, etc.
A typical timing analysis tool estimates the time it takes a signal to travel a path from a circuit input to a circuit output by summing the delays encountered by the signal as it passes through each device or circuit portion in the path. In most cases, an accurate estimate of a path's timing response requires the tool to know the circuit's input and output capacitances. If the tool uses an incorrect capacitance value for any or all of the circuit inputs or outputs, error can be introduced, and the estimated timing value may be incorrect. The capacitance of circuit inputs and outputs may be particularly critical when the timing tool is also used to estimate signal phase shifts.
Traditionally, determining the capacitance of inputs and outputs of custom designed circuits has been performed manually. One method used involves simulating a circuit path using a Simulation Program for Integrated Circuits Emphasis (SPICE), or some similar modeling tool. The circuit designer then uses SPICE to simulate the circuit paths response to a voltage source. By toggling the simulated voltage source and measuring the response of the input node, the circuit designer can determine the capacitance of the input node. The same manual process is usually repeated for one or two additional circuit inputs, and the capacitance values of the remaining circuit inputs are assumed to be the same as the capacitance values obtained for the simulated inputs. The capacitance of the outputs is determined in much the same way.
Because determining capacitance manually is relatively slow, only a few inputs and outputs are actually simulated—particularly where a large number of inputs or outputs are involved. For example, if a circuit being designed has 256 inputs, a circuit designer generally simulates only two or three inputs, and uses the simulated capacitances of those two or three inputs to estimate the capacitance of the remaining inputs. Estimating capacitance for only a few of the inputs and outputs can save time, but is potentially less accurate than performing simulations on each input and output.
It would be advantageous, therefore, if the capacitance of each input and output could be determined quickly, without introducing possible error by assuming the capacitance of un-simulated inputs and outputs.